/**
  ******************************************************************************
  * @file    app_menu_cfg.h
  * @author  MCD Application Team
  * @brief   Header for Menu Configuration file.
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2019-2021 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef APP_MENU_CFG_H
#define APP_MENU_CFG_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "stm_list.h"

/* Defines ------------------------------------------------------------------ */

/* Exported Types ------------------------------------------------------------ */
typedef enum
{
  MENU_UPDATE_CODE_APP_START_ERASE = 0,
  MENU_UPDATE_CODE_APP_START_FLASH,
  MENU_UPDATE_CODE_APP_END_SUCCESS,
  MENU_UPDATE_CODE_APP_END_FAIL,
  MENU_UPDATE_CODE_USER_CONF_START_ERASE,
  MENU_UPDATE_CODE_USER_CONF_START_FLASH,
  MENU_UPDATE_CODE_USER_CONF_END_SUCCESS,
  MENU_UPDATE_CODE_USER_CONF_END_FAIL,
  MENU_UPDATE_CODE_MAX
}Menu_update_code_t;
/* Shared variables --------------------------------------------------------- */

/* Exported Prototypes -------------------------------------------------------*/
/**
 * @brief Initialize and setup the menu
 */
void Menu_Config(void);

/**
 * @brief Set the Startup Page as active
 */
void Menu_SetStartupPage(void);

/**
 * @brief Update p2pServer page
 */
void Menu_p2pS_page_update(void);

/**
 * @brief Update firmware update page
 */
void Menu_fw_update_page_update(uint32_t code);

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif /* APP_MENU_CFG_H */
